package com.tuozixuan.caffeine;

import java.util.concurrent.TimeUnit;

import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;

public class ManualDemo {

	public static void main(String[] args) {
		
		Cache<String, String> cache = Caffeine.newBuilder().expireAfterWrite(10, TimeUnit.MINUTES).maximumSize(10_000).build();
		
		String key = "name";
		// 查找一个缓存元素， 没有查找到的时候返回null
		String name = cache.getIfPresent(key);
		System.out.println("name:" + name);
		
		// 查找缓存，如果缓存不存在则生成缓存元素,  如果无法生成则返回null
		name = cache.get(key, k -> {
			return "lisi";
		});
		System.out.println("name:" + name);
		
		// 添加或者更新一个缓存元素
		cache.put(key, "lisi1");
		
		// 移除一个缓存元素
		cache.invalidate(key);
		
	}

}
